// DirectiveSet.h: interface for the CDirectiveSet class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DIRECTIVESET_H__28E5AD12_7ACC_11D2_8064_00A0C91F41A7__INCLUDED_)
#define AFX_DIRECTIVESET_H__28E5AD12_7ACC_11D2_8064_00A0C91F41A7__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "mytypedef.h"
#include "8085Object.h"

typedef struct
{
    char *str;
    directives d;
}SDirective;


class CDirectiveSet
{
public:
	void Init();
	CDirectiveSet();
	virtual ~CDirectiveSet();
    inline directives GetGenericType() { return m_SLastLookedUp.d; }
	BOOL IsDirective(char *str);
    inline void Set8085Object(C8085Object *obj) { m_p8085Object = obj; }
    inline C8085Object * Get8085Object() { return m_p8085Object;}

    //data members
protected:
    static SDirective m_pDirectiveSet[];
    SDirective m_SLastLookedUp;
    int m_nLastIndex;
    C8085Object *m_p8085Object;
};

#endif // !defined(AFX_DIRECTIVESET_H__28E5AD12_7ACC_11D2_8064_00A0C91F41A7__INCLUDED_)
